import React, { ReactNode } from 'react'
import { RoutesPath } from '@/global/constant'
import {
  AccountBookOutlined,
  AimOutlined,
  AlertOutlined,
  AntDesignOutlined,
  ApartmentOutlined,
  AppstoreOutlined,
  AreaChartOutlined,
  BlockOutlined,
  BorderlessTableOutlined,
  CarryOutOutlined,
  ClearOutlined,
  ControlOutlined,
  EditOutlined,
  FieldTimeOutlined,
  FormOutlined,
  InstagramOutlined,
  LaptopOutlined,
  LockOutlined,
  MenuOutlined,
  PayCircleOutlined,
  ProjectOutlined,
  RedEnvelopeOutlined,
  ScheduleOutlined,
  SettingOutlined,
  ShopOutlined,
  SketchOutlined,
  TagsOutlined,
  UserOutlined
} from '@ant-design/icons'

// 映射对象：path 对应  组件
const PathToIcons: { [key in string]: ReactNode } = {
  [RoutesPath.System]: <SettingOutlined />,
  [RoutesPath.DashBoard]: <LaptopOutlined />,
  [RoutesPath.UserList]: <UserOutlined />,
  [RoutesPath.RoleList]: <BlockOutlined />,
  [RoutesPath.MenuList]: <MenuOutlined />,
  [RoutesPath.Banned]: <LockOutlined />,
  [RoutesPath.SystemLog]: <AntDesignOutlined />,
  [RoutesPath.LoginList]: <FormOutlined />,
  [RoutesPath.OperationList]: <EditOutlined />,
  [RoutesPath.SystemSensitive]: <ControlOutlined />,
  [RoutesPath.Lexicon]: <AppstoreOutlined />,
  [RoutesPath.UpdateConfig]: <ApartmentOutlined />,
  [RoutesPath.CustomRule]: <ClearOutlined />,
  [RoutesPath.Classify]: <InstagramOutlined />,
  [RoutesPath.ClassifyQuestion]: <BorderlessTableOutlined />,
  [RoutesPath.QuestionDir]: <TagsOutlined />,
  [RoutesPath.QuestionList]: <AreaChartOutlined />,
  [RoutesPath.QuestionInfo]: <EditOutlined />,
  [RoutesPath.AddressList]: <AimOutlined />,
  [RoutesPath.Activity]: <CarryOutOutlined />,
  [RoutesPath.ActivityList]: <AlertOutlined />,
  [RoutesPath.Integral]: <SketchOutlined />,
  [RoutesPath.IntegralDetail]: <PayCircleOutlined />,
  [RoutesPath.IntegralTask]: <AccountBookOutlined />,
  [RoutesPath.IntegralShop]: <ShopOutlined />,
  [RoutesPath.IntegralConvert]: <FieldTimeOutlined />,
  [RoutesPath.Sign]: <ScheduleOutlined />,
  [RoutesPath.SignContinuousReward]: <RedEnvelopeOutlined />,
  [RoutesPath.SignDailyAttendance]: <ProjectOutlined />
}

export default PathToIcons
